<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;
use app\models\Article;
use app\models\Category;
use yii\db\Query;

class TestController extends Controller{

	/**
	 * [actionIndex 测试页面]
	 * @return [type] [description]
	 */
	public function actionIndex(){
		return $this -> render('post');
	}

	/**
	 * [actionTest 测试过程]
	 * @return [type] [description]
	 */
	public function actionTest(){

		$new = Yii::$app -> request;
		$ip = $new -> userIp;

		// $data = $new -> post();

		$user = [
			'height' => '<script> alert(1) </script>',
			'weight' => 'o'
		];

		// $all = [
			// 'datas' => $data,
			// 'users' => $user
		// ];

		// $all = compact('data','user');
		// dd($all);
		// $a = $new -> ispost;
		// var_dump($a);
		// $data = ['data' => $ip];
		return $this -> renderPartial('test',$user);
	}

	public function actionAction(){
		
		// $id = yii::$app -> request -> get('id');

		// $sql = "SELECT * FROM article WHERE id=".$id;//普通查询条件
		// sql = "SELECT * FROM article WHERE id=:id";//占位查询条件
		// $result = Article::findBysql($sql)->all();//未执行占位前
		// $result = Article::findBysql($sql,[':id' => $id])->all();//执行占位
		
		// $result = Article::find() -> all();//查询所有数据
		// $result = Article::find() -> where(['id' => $id]) -> all();//查询单条数据
		// $result = Article::find() -> where(['>','id',$id]) -> all();//大于，小于
		// $result = Article::find() -> where(['between','id',2,4]) -> all();//在谁与谁之间
		// $result = Article::find() -> where(['like','name',$id]) -> all();//模糊匹配,all全部
		// $result = Article::find() -> where(['like','name',$id]) -> one();//one只查询一条
		// $result = Article::findOne(5);//直接通过主键查询 one一条 主键=（值）
		// $result = Article::findAll([1,2,3]);//直接通过主键查询 all多条 主键=（值1,2,3）
		// $result = Article::find() -> asarray() -> all();//转化对象为数组
		
		// 防止内存溢出
		// $array = [];
		// foreach (Article::find() -> batch(100) as $v) {
		// 	$array[] = $v;
		// }
		
		//增加数据
		// $article = new article;
		// $article -> name = "username";//Acticle字段
		// $article -> num = "10";//Acticle字段
		// // $data = $article -> insert();//存储
		// $data = $article -> save();//存储
		// $id = $article->attributes['id'];//获取 变动后( 增删改查，一般为单条数据 )的 主键id
		// dd($id);
		
		//修改数据
		// $updata = Article::findOne('4088');
		// $updata -> name = "10song4088";
		// $updata -> num = "10";
		// $result = $updata -> update();//update更新方法
		// $result = $updata -> save();//update更新方法
		// dd($result);
		
		//$data = Article::updateAllCounters(['num' => 1],['id' => 20440]);
		//更新所有的num字段值 第一个条件是那个字段 ([每次更新增加几],[更新那一条数据])
		//dd($data);
		
		// 占位传输
		// $Article = Article::findOne('20001');
		// $Article = Article::deleteAll('id>:id And num<:num',[':id' => 20000,':num' => 1]);
		// $Article = Article::find() -> where(['>','id','16354']) -> all();//在谁与谁之间
		// dd($Article);
		// $Article = new Article();
		// dd($Article);
		
		//继承测试
		// $id = yii::$app -> request -> get('id');
		// $this -> layout = '@app/views/layouts/home.php';//指定继承模板
		// return $this -> render('action',['id' => $id]);
		// render继承 renderPartial无继承
		// p($array);
	}

	/**
	 * [actionAbout 测试]
	 * @return [type] [description]
	 */
	public function actionAbout(){
		// $Category = Category::findOne(1);

		// $article = Article::find() -> where(['cate_id' => $Category->attributes['id']]) -> all();
		// $article = $Category -> hasMany('app\models\Article',['cate_id' => 'id']) -> all();
		//$article = $Category -> Articles; //get+模型名称 会走_get魔术常量 自动成为方法名称 
		
		// $article = $Category -> getArticles(); //get+模型名称 会走_get魔术常量 自动成为方法名称

		//Article 《==等价于==》 getArticle();
		//Article::className <==等价于==> 'app\models\Article'
		
		//dd($article);
		// $Articles = Article::find() -> all();
		
		// $Articles = Category::find()->with('Article') -> all();

		// $orders = Order::find()->joinWith('customer')->all();
		// $article = Article::findOne(1) -> Categorys;
		
		//一对一的关系
		// $Articles = Article::find() -> all();
		// foreach ($Articles as $v) {
			 // $array[] = $v -> Categorys;
		// }
		// dd($array);
		
		//查找所有的数据病根据category规则进行匹配
		// $Articles = Article::find() -> with('category') -> all();
		//dd($Articles);
		echo Yii::$app -> request -> get('page');
	}
}